package com.ruoyi.system.service.impl;

import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.TArticle;
import com.ruoyi.system.mapper.TArticleMapper;
import com.ruoyi.system.service.ITArticleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 文章管理Service业务层处理
 *
 * @author kellen
 * @date 2024-04-18
 */
@Service
public class TArticleServiceImpl implements ITArticleService {
    @Autowired
    private TArticleMapper tArticleMapper;

    /**
     * 查询文章管理
     *
     * @param id 文章管理主键
     * @return 文章管理
     */
    @Override
    public TArticle selectTArticleById(Long id) {
        return tArticleMapper.selectTArticleById(id);
    }

    /**
     * 查询文章管理列表
     *
     * @param tArticle 文章管理
     * @return 文章管理
     */
    @Override
    public List<TArticle> selectTArticleList(TArticle tArticle) {
        return tArticleMapper.selectTArticleList(tArticle);
    }

    /**
     * 新增文章管理
     *
     * @param tArticle 文章管理
     * @return 结果
     */
    @Override
    public int insertTArticle(TArticle tArticle) {
        tArticle.setCreateTime(DateUtils.getNowDate());
        return tArticleMapper.insertTArticle(tArticle);
    }

    /**
     * 修改文章管理
     *
     * @param tArticle 文章管理
     * @return 结果
     */
    @Override
    public int updateTArticle(TArticle tArticle) {
        tArticle.setUpdateTime(DateUtils.getNowDate());
        return tArticleMapper.updateTArticle(tArticle);
    }

    /**
     * 批量删除文章管理
     *
     * @param ids 需要删除的文章管理主键
     * @return 结果
     */
    @Override
    public int deleteTArticleByIds(String ids) {
        return tArticleMapper.deleteTArticleByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除文章管理信息
     *
     * @param id 文章管理主键
     * @return 结果
     */
    @Override
    public int deleteTArticleById(Long id) {
        return tArticleMapper.deleteTArticleById(id);
    }

    @Override
    public Map<String, Long> queryPrevAndNext(Long id, Long menuId) {
        return this.tArticleMapper.queryPrevAndNext(id, menuId);
    }
}
